package com.easyUploader.util;

import com.common.util.StringUtil;

import java.io.File;

/**
 * @author 大忽悠
 * @create 2022/11/1 19:05
 */
public class ZipUtil extends cn.hutool.core.util.ZipUtil {

    public static File zipIfNeeded(String targetFilePath, String zipTempDir) {
        File file = new File(targetFilePath);
        if(file.exists()&&file.isDirectory()){
            //将存放压缩文件的目录进行创建
            FileUtil.createDirIfNotExist(zipTempDir,false);
            //将要压缩的目录存放到指定的临时压缩文件目录下去
            return doZip(targetFilePath, zipTempDir, file.getName());
        }
        return null;
    }

    /**
     * @param targetFilePath 要压缩的目录路径
     * @param zipTempDir 临时存放压缩文件目录路径
     * @param zipFileName 最终生成的压缩文件名
     * @return 压缩文件
     */
    private static File doZip(String targetFilePath, String zipTempDir, String zipFileName) {
        //默认采用zip
        return zip(targetFilePath, StringUtil.pathMerge(true,zipTempDir, zipFileName+".zip"),true);
    }
}
